package com.pe.pgn.clubpgn.domain;

// default package
// Generated 13/12/2010 02:59:42 PM by Hibernate Tools 3.3.0.GA

import java.math.BigDecimal;
import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Type;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * ClpmIncrementalPremiado generated by hbm2java
 */
@Entity
@Table(name = "clpm_incremental_premiado")
public class ClpmIncrementalPremiado extends CamposAuditoria {

	/**
	 * 
	 */
	private static final long serialVersionUID = 5230351897404360991L;
	private Long id;
	private ClpbClientePersona clpbClientePersona;
	private ClpbIncremental clpbIncremental;
	private ClprPeriodoLiquidacion clprPeriodoLiquidacion;
	private BigDecimal vaCantidad;
	private BigDecimal vaVariacion;
	private BigDecimal vaCantidadGanada;
	private String deMensajePremio;
	private Integer vaRepeticionMensaje;
	private Integer vaRepeticiones;
	private boolean stIncrementalPremiado;

	@Id
    @Column(name="id")
    @SequenceGenerator(name="seqafiliadopremiado", sequenceName="seq_afiliado_premiado")
    @GeneratedValue(generator="seqafiliadopremiado")	
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@ManyToOne(targetEntity =  ClpbClientePersona.class)
	@JoinColumn(name = "co_cliente_persona", nullable = false)
	public ClpbClientePersona getClpbClientePersona() {
		return this.clpbClientePersona;
	}

	public void setClpbClientePersona(ClpbClientePersona clpbClientePersona) {
		this.clpbClientePersona = clpbClientePersona;
	}

	@ManyToOne(targetEntity = ClpbIncremental.class)
	@JoinColumn(name = "co_incremental", nullable = false)
	public ClpbIncremental getClpbIncremental() {
		return this.clpbIncremental;
	}

	public void setClpbIncremental(ClpbIncremental clpbIncremental) {
		this.clpbIncremental = clpbIncremental;
	}

	@ManyToOne(targetEntity = ClprPeriodoLiquidacion.class)
	@JoinColumn(name = "co_periodo_liquidacion")
	public ClprPeriodoLiquidacion getClprPeriodoLiquidacion() {
		return this.clprPeriodoLiquidacion;
	}

	public void setClprPeriodoLiquidacion(
			ClprPeriodoLiquidacion clprPeriodoLiquidacion) {
		this.clprPeriodoLiquidacion = clprPeriodoLiquidacion;
	}

	@Column(name = "va_cantidad", nullable = false, precision = 10)
	public BigDecimal getVaCantidad() {
		return this.vaCantidad;
	}

	public void setVaCantidad(BigDecimal vaCantidad) {
		this.vaCantidad = vaCantidad;
	}

	@Column(name = "va_variacion", nullable = false, precision = 10)
	public BigDecimal getVaVariacion() {
		return this.vaVariacion;
	}

	public void setVaVariacion(BigDecimal vaVariacion) {
		this.vaVariacion = vaVariacion;
	}

	@Column(name = "va_cantidad_ganada", precision = 10)
	public BigDecimal getVaCantidadGanada() {
		return this.vaCantidadGanada;
	}

	public void setVaCantidadGanada(BigDecimal vaCantidadGanada) {
		this.vaCantidadGanada = vaCantidadGanada;
	}

	@Column(name = "de_mensaje_premio", nullable = false)
	public String getDeMensajePremio() {
		return this.deMensajePremio;
	}

	public void setDeMensajePremio(String deMensajePremio) {
		this.deMensajePremio = deMensajePremio;
	}

	@Column(name = "va_repeticion_mensaje", precision = 8, scale = 0)
	public Integer getVaRepeticionMensaje() {
		return this.vaRepeticionMensaje;
	}

	public void setVaRepeticionMensaje(Integer vaRepeticionMensaje) {
		this.vaRepeticionMensaje = vaRepeticionMensaje;
	}

	@Column(name = "va_repeticiones", precision = 8, scale = 0)
	public Integer getVaRepeticiones() {
		return this.vaRepeticiones;
	}

	public void setVaRepeticiones(Integer vaRepeticiones) {
		this.vaRepeticiones = vaRepeticiones;
	}

	@Column(name = "st_incremental_premiado", length = 1)
	@Type(type = "yes_no") 
	public boolean isStIncrementalPremiado() {
		return stIncrementalPremiado;
	}

	public void setStIncrementalPremiado(boolean stIncrementalPremiado) {
		this.stIncrementalPremiado = stIncrementalPremiado;
	}
	
	@Column(name = "co_usuario_creador", updatable = false, nullable = false, length = 30)
	public String getCoUsuarioCreador() {
		return coUsuarioCreador;
	}

    @Column(name = "da_fecha_creacion", updatable = false, nullable = false)
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "S-")
	public Calendar getDaFechaCreacion() {
		return daFechaCreacion;
	}

	@Column(name = "co_usuario_modificador", length = 30)
	public String getCoUsuarioModificador() {
		return coUsuarioModificador;
	}

    @Column(name = "da_fecha_modificacion")
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "S-")
	public Calendar getDaFechaModificacion() {
		return daFechaModificacion;
	}    

	@Override
	public boolean equals(Object o) {
		return false;
	}

	@Override
	public int hashCode() {
		return 0;
	}

	@Override
	public String toString() {
		return "ClpmIncrementalPremiado [clpbClientePersona="
				+ clpbClientePersona + ", clpbIncremental=" + clpbIncremental
				+ ", clprPeriodoLiquidacion=" + clprPeriodoLiquidacion
				+ ", deMensajePremio=" + deMensajePremio + ", id=" + id
				+ ", stIncrementalPremiado=" + stIncrementalPremiado
				+ ", vaCantidad=" + vaCantidad + ", vaCantidadGanada="
				+ vaCantidadGanada + ", vaRepeticionMensaje="
				+ vaRepeticionMensaje + ", vaRepeticiones=" + vaRepeticiones
				+ ", vaVariacion=" + vaVariacion + "]";
	}

}